package com.project.system.service.impl;

import com.project.common.core.domain.BaseServer;
import com.project.common.core.domain.entity.SysUserWx;
import com.project.system.mapper.SysUserWxMapper;
import com.project.system.service.ISysUserWxService;
import org.mybatis.logging.Logger;
import org.mybatis.logging.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 微信用户信息Service业务层处理
 *
 * @author project
 * @date 2021-08-25
 */
@Service
public class SysUserWxServiceImpl extends BaseServer implements ISysUserWxService {

    private static final Logger log = LoggerFactory.getLogger(SysUserWxServiceImpl.class);

    @Resource
    private SysUserWxMapper tWechatInfoMapper;

    /**
     * 查询微信用户信息
     *
     * @param wechatId 微信用户信息ID
     * @return 微信用户信息
     */
    @Override
    public SysUserWx selectSysUserWxById(Long wechatId) {
        return tWechatInfoMapper.selectSysUserWxById(wechatId);
    }

    /**
     * 查询微信用户信息列表
     *
     * @param sysUserWx 微信用户信息
     * @return 微信用户信息
     */
    @Override
    public List<SysUserWx> selectSysUserWxList(SysUserWx sysUserWx) {
        return tWechatInfoMapper.selectSysUserWxList(sysUserWx);
    }

    /**
     * 根据openId查询微信用户信息
     *
     * @param openId 微信openId
     * @return 微信用户信息集合
     */
    @Override
    public SysUserWx selectSysUserWxByOpenId(String openId) {
        return tWechatInfoMapper.selectSysUserWxByOpenId(openId);
    }

    /**
     * 新增微信用户信息
     *
     * @param sysUserWx 微信用户信息
     * @return 结果
     */
    @Override
    public int insertSysUserWx(SysUserWx sysUserWx) {
        super.insert(sysUserWx);
        return tWechatInfoMapper.insertSysUserWx(sysUserWx);
    }

    /**
     * 修改微信用户信息
     *
     * @param sysUserWx 微信用户信息
     * @return 结果
     */
    @Override
    public int updateSysUserWx(SysUserWx sysUserWx) {
        super.update(sysUserWx);
        return tWechatInfoMapper.updateSysUserWx(sysUserWx);
    }

    /**
     * 批量删除微信用户信息
     *
     * @param wechatIds 需要删除的微信用户信息ID
     * @return 结果
     */
    @Override
    public int deleteSysUserWxByIds(Long[] wechatIds) {
        return tWechatInfoMapper.deleteSysUserWxByIds(wechatIds);
    }

    /**
     * 删除微信用户信息
     *
     * @param userIds 绑定用户信息ID
     * @return 结果
     */
    public int deleteSysUserWxByUserIds(Long[] userIds) {
        return tWechatInfoMapper.deleteSysUserWxByUserIds(userIds);
    }

    /**
     * 删除微信用户信息信息
     *
     * @param wechatId 微信用户信息ID
     * @return 结果
     */
    @Override
    public int deleteSysUserWxById(Long wechatId) {
        return tWechatInfoMapper.deleteSysUserWxById(wechatId);
    }
}
